import Api from "../../utils/api"
import Config from "../../utils/Config"
Page({
  data:{
    addValue:"",
    // 菜谱分类数组
    recipeType:[],
    // 定义旧的菜谱
    oldValue:"",
    // 输入的新值
    newValue:''
  },
  onLoad(){
    this._findAll()
  },
  // 获取输入框内容
  _getAdd(e){
    // 获取input输入框的值
    this.setData({
      addValue:e.detail.value
    })
  },
  // 点击添加按钮
  async _add(){
    // 将输入框的内容添加到对应的数据库里面
    let typeName = this.data.addValue;
    // 判断数据里有没有这个菜谱
    let recipeType = this.data.recipeType;
    console.log(recipeType);
    let findindex = recipeType.findIndex((item)=>{
      return item.typeName == typeName
    })
    // console.log(findindex);
    // 不存在返回-1 存在为其他 
    if(findindex != -1){
      wx.showToast({
        title: '菜谱已存在',
        icon:"none"
      }) 
      return
    }
    let res = await Api.add(Config.tables.recipeTypeTable,{typeName})
    console.log(res);
    if(res._id){
      wx.showToast({
        title: '添加成功',
      })
      this._findAll()
    }
  },
  // 3.查询所有菜谱分类
  async  _findAll(){
    let  res = await Api.findAll(Config.tables.recipeTypeTable);
    // console.log(res.data);
    this.setData({
      recipeType:res.data
    })
    
  },
  // 4.删除分类
  async remove(e){
    // 获取id
    let _id = e.currentTarget.id
    // 通过id删除所选项
    let res = await Api.removeByid(Config.tables.recipeTypeTable,_id)
    if(res.stats.removed==1){
      wx.showToast({
        title: '删除成功',
      })
      // 删除成功后重新调用页面数据
      this._findAll()
    }
  },
  // 修改分类
  // 点击修改按钮 获取name 和 id
  update(e){
    // console.log(e);
    let {typeName,id} = e.currentTarget.dataset
    this.setData({
      oldValue:typeName,
      _id:id
    })
  },
  getNewValue(e){
    let value = e.detail.value;
    this.setData({
      newValue:e.detail.value,
    })
  },
  // 执行修改
 async _updata(){
    // 获取新值以及id
    let {_id,newValue} = this.data;
    if(newValue == ""){
      wx.showToast({
        title: '类型不能为空',
        icon:"none"
      })
      return
    }
    console.log(_id,newValue);
   let res = await Api.updaById(Config.tables.recipeTypeTable,_id,{typeName:newValue})
   console.log(res);
   if(res.stats.updated==1){
     this.setData({
       oldValue:""
     })
     
     this._findAll()
     wx.showToast({
       title: '修改成功',
     })
   }
  }
})